package tedu.api.collection;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class ListDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");
        list.add("1");
        System.out.println(list);

        for(int i=0;i<list.size();i++){
            System.out.print(list.get(i)+" ");
        }
        System.out.println();

        Iterator<String> it = list.iterator();
        while(it.hasNext()){
            System.out.print(it.next()+" ");
        }
        System.out.println();

        for(String s : list){
            System.out.print(s+" ");
        }
        System.out.println();
        System.out.println("---get------set-----------");

        //E get(int index):获取指定下标所对应的元素
        String e = list.get(2);
        System.out.println(e);

        //E set(int index,E e):将给定元素设置到指定位置，返回被替换的元素----一般不接收
        //list.set(2,"three");//将list中下标为2的元素设置为three---常规用法
        String old = list.set(2,"three");//将list中下标为2的元素设置为three,同时将原数据返回old
        System.out.println(list);
        System.out.println("return："+old);

        System.out.println("---remove--------------");
        //E remove(int index):删除指定位置元素，并返回被删除元素
        //list.remove(2);//删除下标为2的元素-------常规用法
        String s = list.remove(2);//删除下标为2的元素，并将被删除元素返回给s
        System.out.println(list);
        System.out.println("return："+s);

        System.out.println("---add--------------");
        //void add(int index,E e):将给定元素e添加到index所指定的位置，相当于插入操作
        list.add(4,"six");
        System.out.println(list);

    }
}

















